package cn.just.service;

import cn.just.dao.ArticleDao;
import cn.just.entity.Article;

import java.sql.SQLException;
import java.util.List;

/**
 * @author wujiaming
 */
public class ArticleService {

    ArticleDao articleDao = new ArticleDao();

    /**
     * 最新8篇置顶文章
     * @return
     */
    public List<Article> getHomeList(){
        try {
            return articleDao.getHomeList();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return null;
    }

    /**
     * 查询最新的5篇文章
     * @return
     */
    public List<Article> getNewList(){
        try {
            return articleDao.getNewList();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return null;
    }

    /**
     * 查询评论最热的五篇文章
     * @return
     */
    public List<Article> getMaxCommentArticle(){
        try {
           return articleDao.getMaxCommentArticle();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return null;
    }

    /**
     * 查询浏览最多的5篇文章
     * @return
     */
    public List<Article> getMaxViewArticle(){
        try {
            return articleDao.getMaxViewArticle();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return null;
    }



    /**
     * 分页查询
     * @param pageNo
     * @return
     */
    public List<Article> getArticleList(int pageNo){

        try {
            return articleDao.getArticleList(pageNo);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return null;
    }

    /**
     * 查询数据库中文章的总数
     * @return
     */
    public int selectCount(){
        try {
            return articleDao.selectCount();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return 0;
    }

    public List<Article> findArticleByKeyWord(String keywords){
        try {
            return articleDao.findArticleByKeyWord(keywords);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }

        return null;
    }

    /**
     * 查询具体某一篇文章
     * @param oId
     * @return
     */
    public Article findById(int oId){
        try {
            return articleDao.findById(oId);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return null;
    }

    /**
     * 将前端页面传进来的文章保存到数据库
     * @param article
     */
    public void save(Article article){
        try {
            articleDao.save(article);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
    }
}
